From 531c38a3e2093a067e0c4a261ef84230246d4eeb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 1 Nov 2004 18:30:52 +0000 Subject: [PATCH] Don't crash on broken ClientMessage events. (#157056, Owen Taylor) 2004-11-01 Matthias Clasen * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't crash on broken ClientMessage events. (#157056, Owen Taylor) --- ChangeLog | 3 +++ ChangeLog.pre-2-10 | 3 +++ ChangeLog.pre-2-6 | 3 +++ ChangeLog.pre-2-8 | 3 +++ gdk/x11/gdkevents-x11.c | 10 ++++++++-- 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 99908b58fa..e877e178ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2004-11-01 Matthias Clasen + * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't crash on + broken ClientMessage events. (#157056, Owen Taylor) + * gtk/gtkactiongroup.c (gtk_action_group_get_visible): Fix a typo in the docs. (#157044, Masao Mutoh) diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 99908b58fa..e877e178ae 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,8 @@ 2004-11-01 Matthias Clasen + * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't crash on + broken ClientMessage events. (#157056, Owen Taylor) + * gtk/gtkactiongroup.c (gtk_action_group_get_visible): Fix a typo in the docs. (#157044, Masao Mutoh) diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 99908b58fa..e877e178ae 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,5 +1,8 @@ 2004-11-01 Matthias Clasen + * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't crash on + broken ClientMessage events. (#157056, Owen Taylor) + * gtk/gtkactiongroup.c (gtk_action_group_get_visible): Fix a typo in the docs. (#157044, Masao Mutoh) diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 99908b58fa..e877e178ae 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,5 +1,8 @@ 2004-11-01 Matthias Clasen + * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't crash on + broken ClientMessage events. (#157056, Owen Taylor) + * gtk/gtkactiongroup.c (gtk_action_group_get_visible): Fix a typo in the docs. (#157044, Masao Mutoh) diff --git a/gdk/x11/gdkevents-x11.c b/gdk/x11/gdkevents-x11.c index 56dd4451f2..e133f938d5 100644 --- a/gdk/x11/gdkevents-x11.c +++ b/gdk/x11/gdkevents-x11.c @@ -2039,8 +2039,14 @@ gdk_wm_protocols_filter (GdkXEvent *xev, { XEvent *xevent = (XEvent *)xev; GdkWindow *win = event->any.window; - GdkDisplay *display = GDK_WINDOW_DISPLAY (win); - Atom atom = (Atom)xevent->xclient.data.l[0]; + GdkDisplay *display; + Atom atom; + + if (!win) + return GDK_FILTER_REMOVE; + + display = GDK_WINDOW_DISPLAY (win); + atom = (Atom)xevent->xclient.data.l[0]; if (atom == gdk_x11_get_xatom_by_name_for_display (display, "WM_DELETE_WINDOW")) { -- 2.30.2